<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR : API documentation</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
    <link href="apidocs.css" type="text/css" rel="stylesheet" />
    
    
  </head>
  <body>
    <h1 class="class private">v.p.o.w.p._IMAGE_IMPORT_DESCRIPTOR(<a href="volatility.obj.CType.html">obj.CType</a>) : class documentation</h1>
    <p>
      <span id="part">Part of <a href="volatility.html">volatility</a>.<a href="volatility.plugins.html">plugins</a>.<a href="volatility.plugins.overlays.html">overlays</a>.<a href="volatility.plugins.overlays.windows.html">windows</a>.<a href="volatility.plugins.overlays.windows.pe_vtypes.html">pe_vtypes</a></span>
      
      <a href="classIndex.html#volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR">View In Hierarchy</a>
    </p>
    <div>
      
    </div>
    <div>Handles IID entries for imported functions<table class="fieldTable"></table></div>

    
    
    <div id="splitTables">
      <table class="children sortable" id="id724">
  
  
<tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.html#valid">valid</a></td>
    <td><span>Check the validity of some fields</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.html#dll_name">dll_name</a></td>
    <td><span>Returns the name of the DLL for this IID</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.html#is_list_end">is_list_end</a></td>
    <td><span>Returns True if we've reached the list end</span></td>
  </tr><tr class="method private">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.html#_name">_name</a></td>
    <td><span>Return a String object for the name at the given RVA</span></td>
  </tr><tr class="method private">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.html#_imported_functions">_imported_functions</a></td>
    <td><span>Generator for imported functions.</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.obj.CType.html">CType</a>:
        </p>
        <table class="children sortable" id="id725">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#__init__">__init__</a></td>
    <td><span>This must be instantiated with a dict of members. The keys are the offsets, the values are Curried Object classes that will be instantiated when accessed.</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#size">size</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#__repr__">__repr__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#d">d</a></td>
    <td><span>Display diagnostic information</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#v">v</a></td>
    <td><span>When a struct is evaluated we just return our offset.</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#m">m</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#__getattr__">__getattr__</a></td>
    <td><span>This is only useful for proper methods (not ones that start with __ )</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.CType.html#__setattr__">__setattr__</a></td>
    <td><span>Change underlying members</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.obj.BaseObject.html">BaseObject</a> (via <a href="volatility.obj.CType.html">CType</a>):
        </p>
        <table class="children sortable" id="id726">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_type">obj_type</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_vm">obj_vm</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_offset">obj_offset</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_parent">obj_parent</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_name">obj_name</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#obj_native_vm">obj_native_vm</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#set_native_vm">set_native_vm</a></td>
    <td><span>Sets the native_vm</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#rebase">rebase</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#proxied">proxied</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#newattr">newattr</a></td>
    <td><span>Sets a new attribute after the object has been created</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#write">write</a></td>
    <td><span>Function for writing the object back to disk</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__nonzero__">__nonzero__</a></td>
    <td><span class="undocumented">No summary</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__eq__">__eq__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__ne__">__ne__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__hash__">__hash__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#is_valid">is_valid</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#dereference">dereference</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#dereference_as">dereference_as</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#cast">cast</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__format__">__format__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__str__">__str__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__getstate__">__getstate__</a></td>
    <td><span>This controls how we pickle and unpickle the objects</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.obj.BaseObject.html#__setstate__">__setstate__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
      
    </div>
    
    
    

    <div class="function">
  <a name="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.valid">
    
  </a>
  <a name="valid">
    
  </a>
  <div class="functionHeader">
    
    def
    valid(self, nt_header):
    
  </div>
  <div class="functionBody">
    
    <div>Check the validity of some fields<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR._name">
    
  </a>
  <a name="_name">
    
  </a>
  <div class="functionHeader">
    
    def
    _name(self, name_rva):
    
  </div>
  <div class="functionBody">
    
    <div>Return a String object for the name at the given RVA<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.dll_name">
    
  </a>
  <a name="dll_name">
    
  </a>
  <div class="functionHeader">
    
    def
    dll_name(self):
    
  </div>
  <div class="functionBody">
    
    <div>Returns the name of the DLL for this IID<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR._imported_functions">
    
  </a>
  <a name="_imported_functions">
    
  </a>
  <div class="functionHeader">
    
    def
    _imported_functions(self):
    
  </div>
  <div class="functionBody">
    
    <div>Generator for imported functions.</p>
<p>&#64;return: tuple (Ordinal, FunctionVA, Name)</p>
<p>If the function is imported by ordinal, then Ordinal is the
ordinal value and Name is None.</p>
<p>If the function is imported by name, then Ordinal is the
hint and Name is the imported function name (or None if its
paged).</p>
<p>FunctionVA is the virtual address of the imported function,
as applied to the IAT by the Windows loader. If the FirstThunk
is paged, then FunctionVA will be None.<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR.is_list_end">
    
  </a>
  <a name="is_list_end">
    
  </a>
  <div class="functionHeader">
    
    def
    is_list_end(self):
    
  </div>
  <div class="functionBody">
    
    <div>Returns True if we've reached the list end<table class="fieldTable"></table></div>
  </div>
</div>
    <address>
      <a href="index.html">API Documentation</a> for Volatility 2.2, generated by <a href="http://codespeak.net/~mwh/pydoctor/">pydoctor</a> at 2013-06-24 15:16:10.
    </address>
  </body>
</html>